libxc: Protect xc_domain_resume from clobbering domain registers
authorJason Andryuk <andryuk@aero.org>
Tue, 20 May 2014 13:37:08 +0000 (09:37 -0400)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 21 May 2014 12:02:28 +0000 (13:02 +0100)
commit84acc84afbd1bd859cd31d44831db77da6ade960
tree8f47452e18f8bc41169ada5d02290796dbc53a7d
parentba30e2bdc15918982242315717541bd76dd527e7
libxc: Protect xc_domain_resume from clobbering domain registers

xc_domain_resume() expects the guest to be in state SHUTDOWN_suspend.
However, nothing verifies the state before modify_returncode() modifies
the domain's registers.  This will crash guest processes or the kernel
itself.

This can be demonstrated with `LIBXL_SAVE_HELPER=/bin/false xl migrate`.

Signed-off-by: Jason Andryuk <andryuk@aero.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
tools/libxc/xc_resume.c